package com.falm.picturebackend.entity.BO;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;

/**
 * 文件/文件夹核心信息表
 */
@Data
public class FilesBO implements Serializable {
    /**
     * 自增内部主键
     */
    private Long id;

    /**
     * 全局唯一标识符用于关联
     */
    private String uuid;

    /**
     * 文件或文件夹名称
     */
    private String name;

    /**
     * 是否为文件夹(0:文件, 1:文件夹)
     */
    private Integer isFolder;

    /**
     * 父文件夹UUID(根目录为空字符串)
     */
    private String parentUuid;

    /**
     * 文件大小(字节)
     */
    private Long fileSize;

    /**
     * 文件扩展名
     */
    private String fileExtension;

    /**
     * MIME类型
     */
    private String mimeType;

    /**
     * 文件存储路径
     */
    private String storagePath;

    /**
     * 存储类型
     */
    private Object storageType;

    /**
     * 文件状态
     */
    private Object status;

    /**
     * 层级深度(从0开始)
     */
    private Integer level;

    /**
     * 完整路径
     */
    private String fullPath;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 子文件
     */
    private List<FilesBO> children;

    /**
     * 父文件
     */
    private FilesBO parent;

    private static final long serialVersionUID = 1L;
}